package com.finalist.service.impl;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;

import com.finalist.plugin.weixin.ConfigUtils;
import com.rainy.mod.plugin.weixin.WeiXinConfig;
import com.rainy.mod.plugin.weixin.handler.WeiXinExternalHandler;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveImageMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveLinkMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveLocationEventMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveLocationMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveMenuClickEventMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveMenuViewEventMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveScanEventMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveSubEventMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveTextMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveUnsubEventMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveVideoMsg;
import com.rainy.mod.plugin.weixin.model.receive.ReceiveVoiceMsg;
import com.rainy.mod.plugin.weixin.model.send.SendMsg;

@Service("weiXinServiceImpl")
@Lazy(false)
public class WeiXinServiceImpl implements com.finalist.service.WeiXinService, WeiXinExternalHandler{
	
	protected Logger log = Logger.getLogger(WeiXinServiceImpl.class);
	
	@Resource(name = "plugin-WeiXinService")
	protected  com.rainy.mod.plugin.weixin.service.WeiXinService weixinService;
	
	@PostConstruct
	protected void initWeixinApi() {
		WeiXinConfig.init(ConfigUtils.TOKEN, ConfigUtils.APPID, ConfigUtils.APPSECRET);
	}

	@Override
	public SendMsg handle(ReceiveTextMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveImageMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveVoiceMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveVideoMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveLocationMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveLinkMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveMenuClickEventMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveMenuViewEventMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveScanEventMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveLocationEventMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveSubEventMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public SendMsg handle(ReceiveUnsubEventMsg arg0) {
		// TODO Auto-generated method stub
		return null;
	}

}
